package cn.stylefeng.guns.modular.business.frequency.syssite.entity;

import cn.stylefeng.guns.core.pojo.base.entity.BaseEntity;
import cn.stylefeng.guns.modular.business.frequency.userawardbase.entity.UserAwardBase;
import com.baomidou.mybatisplus.annotation.*;

import java.util.Date;
import java.util.List;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;

/**
 * sys_site
 *
 * @author yujie
 * @date 2023/05/09 17:17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_site")
public class SysSite extends BaseEntity {

    /**
     * id
     */
    @TableId("id")
    private Long id;

    /**
     * 网点名称
     */
    @TableField("name")
    @NotBlank(message = "网点名称未填")
    private String name;

    /**
     * 电话
     */
    @TableField("phone")
    private String phone;

    /**
     * 联系人
     */
    @TableField("linkman")
    private String linkman;

    /**
     * 地区code
     */
    @TableField("region_code")
    @NotBlank(message = "所在城市未填")
    private String regionCode;

    /**
     * 详细地址
     */
    @TableField("address")
    @NotBlank(message = "地址未填")
    private String address;

    /**
     * 签收人
     */
    @TableField("sign_name")
    private String signName;

    /**
     * 签收电话
     */
    @TableField("sign_phone")
    private String signPhone;

    /**
     * 1.删除 0.未删除
     */
    @TableField("has_delete")
    private Integer hasDelete;

    /**
     * 租户ID
     */
    @TableField(value = "tenant_id",fill = FieldFill.INSERT)
    private Long tenantId;

    /**
     * 是否显示 1 是 2 否
     */
    @TableField("is_show")
    private Long isShow;

    /**
     * 是否是网点 1 是 2 否
     */
    @TableField("is_branch")
    private Long isBranch;

    @TableField("org_id")
    private Long orgId;

    @TableField(exist = false)
    @ApiModelProperty("负责城市列表")
    @NotEmpty(message = "服务城市未填")
    private List<String> chargeCodeList;

    @TableField(exist = false)
    private List<UserAwardBase> userAwardBasesList;

}
